<?php
// +----------------------------------------------------------------------
// | 幕小铺
// +----------------------------------------------------------------------
// | 版权所有 2016~2020 幕小铺科技（大连）有限公司
// +----------------------------------------------------------------------
// | 2020/03/14
// +----------------------------------------------------------------------

namespace app\erp\home;
use app\common\controller\AuthCheck;

/**
 * 门店管理
 * @package app\cms\admin
 */
class Store extends AuthCheck{
    /**
     * 首页
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, data)
     */
    public function store_index(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $title    	    = isset($params["title"]) ? $params["title"] : '';//门店名称
		$lat    		= isset($params["lat"]) ? $params["lat"] : '';//纬度
        $lon    		= isset($params["lon"]) ? $params["lon"] : '';//经度

        //数据验证
        $Validate = validate('Store', 'validate');
        if( !$Validate -> scene('store_index') -> check($params) ){
            json_out(-1001, $Validate -> getError(), []);//验证失败
        }
        //逻辑处理
        $list = controller('Storelogic', 'logic') -> store_index($user_id, $title, $lat, $lon);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], $list['message'], $list['data']);
        }else{
            json_out($list['code'], $list['message'], []);
        }
    }

    /**
     * 添加数据
     * @param title 	        string 门店名称
     * @param address 	        string 地址
     * @param sort 		        int    排序
     * @param code 		        string 门店编码
     * @param warehouse_id_zf 	array  关联仓库id
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function add(){
        //参数接收
        $params 		    = $this->getParams(1);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $title    		    = isset($params["title"]) ? $params["title"] : '';
        $address    	    = isset($params["address"]) ? $params["address"] : '';
        $sort    		    = intval(isset($params["sort"]) ? $params["sort"] : 0);
        $code    		    = isset($params["code"]) ? $params["code"] : '';
        $warehouse_id_zf    = isset($params["warehouse_id_zf"]) ? $params["warehouse_id_zf"] : '';
        $lat    			= isset($params["lat"]) ? $params["lat"] : '';//纬度
        $lon    			= isset($params["lon"]) ? $params["lon"] : '';//经度
        $mobile    			= isset($params["mobile"]) ? $params["mobile"] : '';
        //数据验证
        $Validate = validate('Store', 'validate');
        if( !$Validate -> scene('store_add') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Storelogic', 'logic') -> add($user_id, $title, $address, $sort, $code, $warehouse_id_zf, $lat, $lon, $mobile);
        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '新增成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 编辑数据
     * @param title 	        string 门店名称
     * @param address 	        string 地址
     * @param sort 		        int    排序
     * @param code 		        string 门店编码
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function edit(){
        //参数接收
        $params 		    = $this->getParams(1);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["sid"]) ? $params["sid"] : 0);
        $title    		    = isset($params["title"]) ? $params["title"] : '';
        $address    	    = isset($params["address"]) ? $params["address"] : '';
        $sort    		    = intval(isset($params["sort"]) ? $params["sort"] : 0);
        $code    		    = isset($params["code"]) ? $params["code"] : '';
		$lat    			= isset($params["lat"]) ? $params["lat"] : '';//纬度
        $lon    			= isset($params["lon"]) ? $params["lon"] : '';//经度
		$mobile    			= isset($params["mobile"]) ? $params["mobile"] : '';

        //数据验证
        $Validate = validate('Store', 'validate');
        if( !$Validate -> scene('store_edit') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Storelogic', 'logic') -> edit($user_id, $id, $title, $address, $sort, $code, $lat, $lon, $mobile);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '编辑成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 删除数据
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function delete(){
        //参数接收
        $params 		    = $this->getParams(1);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["sid"]) ? $params["sid"] : 0);

        //数据验证
        $Validate = validate('Store', 'validate');
        if( !$Validate -> scene('store_delete') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Storelogic', 'logic') -> delete($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '删除成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

	/**
     * 更新门店价格
     * @author shiqiang
     * @return json_out(code, message, (int)id)
     */
	public function update_sku_price(){
		//参数接收
        $params 	= $this->getParams(1);//0 get 1 post
        $user_id 	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $store_id 	= intval(isset($params["store_id"]) ? $params["store_id"] : 0);
        $sku_id 	= intval(isset($params["sku_id"]) ? $params["sku_id"] : 0);
        $price 		= isset($params["price"]) ? $params["price"] : 0;
        $sku_status = isset($params["sku_status"]) ? $params["sku_status"] : 0;
		
		//数据验证
        $Validate = validate('Store', 'validate');
        if( !$Validate -> scene('update_sku_price') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Storelogic', 'logic') -> update_sku_price($user_id, $store_id, $sku_id, $price, $sku_status);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '更新成功');
        }else{
            json_out($list['code'], $list['message']);
        }
	}
}